/**
 * 状态对象的实现
 * 
 * 将不同的判断结果封装在状态对象内，然后该状态对象返回一个可被调用的接口方法，用于调用状态对象内部某种方法
 */
// 投票结果状态对象
var ResultState = function() {
    var States = {
        state0: function() {
            console.log('这是第一种情况')
        },
        state1: function() {
            console.log('这是第2种情况')
        },
        state2: function() {
            console.log('这是第3种情况')
        },
        state3: function() {
            console.log('这是第4种情况')
        }
    };

    function show(result) {
        States['state' + result] && States['state' + result]();
    }

    return {
        show: show
    }
};

ResultState().show(3);
